Universal product codes (UPCs) are a type of barcode used to track items in various stores. There are various formats for UPCs. FIG. 1A illustrates a UPC-A version UPC that includes twelve digits. The twelve digits include eleven identifying digits and one check digit. The UPC 100 includes a company prefix 106 that is made up of 6, 7, 8, or 9 digits from the identifying digits. The company prefix 106 identifies a company, such as, but not limited to, a manufacturer, producer, supplier, etc. For UPCs that are used in various stores, the company prefix 106 is assigned by a third party to ensure the various company prefixes are unique. A product number 110, which comprises the remaining identifying digits, is used by a company to identify the product associated with a UPC. Companies can use the product number 110 in various ways to identify the associated product. The UPC 100 also includes a check digit 114 that can be used to verify the identifying digits are valid. To help scanning UPCs, the UPC 100 includes guard bars 104, 108, and 112, that separate the company prefix 106, the product number 110, and the check digit 114.
The guard bars 104, 108, and 112 help barcode scanners to read barcodes. Barcode scanners are electric devices that include a light source, a lens, and a light sensor. The light sensor translates optical impulses into binary information. A barcode scanner can also include a decoder that analyzes the light sensor data to decode the data encoded in the barcode into barcode data. The barcode data can be sent to various other devices through an output port on the barcode scanner.
Various other forms of barcodes exist, such as a two-dimensional barcode. One example of a two-dimensional barcode is a quick response code (QR code). QR codes are capable of storing a large amount of data compared with one-dimensional barcodes. For example, a QR code can encode 4,296 alphanumeric characters. FIG. 1B illustrates a QR code 150. The QR code 150 includes three position patterns 152 and an alignment pattern 154 that are used in scanning the QR code 150 and decoding its data. The data of a QR code is encoded in a data area 156.